Modern web browsers support a variety of features that aim to reduce the end user's navigation latency. Some browsers may prefetch resources, prerender resources, and/or perform other pre-actions prior to the use or access of the corresponding resources by the user. For example, a website may specify that a user is highly likely to require a particular linked resource, and the browser may fetch and/or render that resource before it is accessed (e.g., before it is clicked).
Although the goal of prefetching resources is to improve the user experience, in certain circumstances, the user experience is hampered. That is, if the prefetched or prerendered resource is in fact accessed (e.g., clicked) by the user, network latency is improved from the user's perspective. However, if the prefetched or prerendered resource is not accessed, computer processing time and network bandwidth is wasted by fetching/rendering undesired resources. The task of performing the appropriate pre-actions is further complicated by the reality that users have different preferences and habits and are therefore not equally likely to access particular resources in all circumstances.